草庐IT

MySQL RESTRICT 和无操作

全部标签

c - 如何调用仅在特定操作系统版本中可用的 C 函数?

我正在使用“高级语言”(Nim)进行编程,出于性能原因,我必须“转向C”。我想做这样的事情:/*Pseudocode*/include/*...*/if(isWindows8OrGreater()){/**useInterlockedIncrementNoFence64()*/}else{/**useInterlockedIncrement64();(*/}但有人告诉我它会在Windows7上崩溃,因为如果我引用InterlockedIncrementNoFence64(),即使我不尝试调用它,它也必须可用。我正在编写一个多线程应用程序,通信是通过“消息”实现的(即使在同一线程内)。这

windows - MSI 安装程序,64 位操作系统,写入\windows\system32\inetsrv 文件夹

在WindowsServer200864位上,我需要一个.msi安装程序文件来将一些文件写入\windows\system32\inetsrv文件夹。(这些文件是一些XML模式验证文件,C#XmlReaderSettings.Schema.Add()预计位于该文件夹中)。当安装程序运行时,文件最终位于\windows\SysWOW64\inetsrv文件夹中,而不是它们需要的位置。我试图让安装程序写入\windows\Sysnative文件夹,并且安装程序创建了一个具有该确切名称的文件夹,我没想到这是可能的。参见thispage有关抑制SysWOW64重定向的良好讨论。在Windows

c# - 如何以编程方式访问操作系统中最常用的程序和程序的最新文件?

我需要以编程方式访问Windows操作系统中最近使用的程序列表和最近打开的文件列表。这些是您在Windows中单击“开始”后通常会看到的项目。我希望使用C#,但如果它在托管C++中更好,我也会这样做。 最佳答案 我认为对于文件,您可以访问最近的目录。stringfolderName=Environment.GetFolderPath(Environment.SpecialFolder.Recent);DirectoryInforecentFolder=newDirectoryInfo(folderName);FileInfo[]fi

c++ - 增加 Virtual Bytes 的操作和函数

在Windows中遇到32位进程的一些内存不足问题时,我开始使用性能监视器来记录该进程的某些计数器。虽然虚拟字节数高于私有(private)字节数和工作集是正常的,但我发现在我的情况下存在实质性差异,虚拟字节数远高于私有(private)字节数和工作集设置。哪些特定操作和Win32/CRT函数(在C或C++中)会增加虚拟字节数但不会增加私有(private)字节数和工作集?如果我理解PerformanceMonitor中不同计数器的描述,我想这将是某种共享资源。由于在不同版本的Windows以及同一版本的Windows中的不同应用程序中使用内存计数器的命名约定似乎存在一些(至少可以说)

c++ - I/O 完成端口的异步操作返回 0 字节传输

使用I/O完成端口的异步操作返回0字节传输,尽管I/O操作按预期工作(我的读取缓冲区已满)。BYTEbuffer[1024]={0};OVERLAPPEDo={0};HANDLEfile=CreateFile(_T("hello.txt"),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);HANDLEcompletion_port=CreateIoCompletionPort(file,NULL,0,0);ReadFile(file,buffer,1024,NULL,&o);在工作线程

windows - 如何确定 MSBuild 中的当前操作系统版本?

是否有返回当前操作系统版本的native或自定义MSBuild任务可用?有没有我可以通过Exec任务调用的二进制文件?或者有其他选择吗?编辑:PeterLang建议使用以下链接:http://www.paraesthesia.com/archive/2009/07/06/getting-the-windows-os-version-in-msbuild.aspx 最佳答案 您可以尝试使用thispost中描述的注册表项查找. 关于windows-如何确定MSBuild中的当前操作系统版本

C++:响应 Windows 注销的清理操作

我想捕捉Windows注销事件,以便进行一些清理。我的WindowProc看起来像这样:switch(uMsg){caseWM_ENDSESSION:caseWM_DESTROY:PostQuitMessage(0);return0;//othermessages}returnDefWindowProc(hwnd,uMsg,wParam,lParam);WinMain中的消息循环如下所示:for(;;){boolbTerminate=false;while(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){if(msg.message==WM_QUIT){bT

windows - 根据 bash 中的操作系统运行不同命令的最佳方法

在bash脚本中,有一种“官方”方式可以根据操作系统版本等运行不同的命令。我的意思是您基本上可以在顶部设置一次,然后在其他地方以相同的方式调用它。我试过使用别名,但这似乎是一个废话,在某些系统上并没有真正起作用(一个是使用win-bash的Windows7)。例如,这是我尝试过的:if["$(uname)"="Darwin"];thenaliasp4cli=./bin/p4elsealiasp4cli=C:\bin\p4.exefip4clilogin如果我使用shopt-sexpand_aliases它可以在Mac上运行,但win-bash没有shopt。我假设有比别名更好的方法来做

windows - Windows 8.1 的什么功能使 Visual Studio 任务窗口包含有关异步操作的详细信息?

VisualStudio2013的一项新功能是任务窗口包含所有挂起的异步任务。在介绍blog,S.Somasegar说,由于操作系统的变化,这只适用于Windows8.1。WithalloftheworkwedidforC#andVisualBasicin.NET4.5andVisualStudio2012toenablemoreproductiveasynchronousprogramming,I’mparticularlyexcitedaboutimprovementswe’vemadeinthisreleasetosupportasyncdebugging(youneedtobe

c# - 我应该如何在我的 C# 程序中使用 .NET Framework 3.5 检测正确的 Windows 8.1 操作系统版本?

我的以.NETFramework3.5为目标的C#程序无法检测到Windows8.1操作系统的正确版本:当6.3.9600是正确值时返回6.2.9200。Console.WriteLine(System.Environment.OSVersion.Version);//printsout6.2.9200我找到了这个帖子WhatistheOSversionforWindows8.1?其中提到了一个当前已损坏的链接。程序应该如何获取正确的值? 最佳答案 添加自定义应用程序list(右键单击可执行项目->添加->新项目...->查找应用程